#pragma once

#include <ECS/ECS.h>
class GameObject;

struct ActivatorDef
{
	mtMETA_DEC;
};

class Activator : public ECS::Component
{
	mtMETA_DEC;
public:
	bool initWith(ActivatorDef* def);
	void activate(GameObject* actor);

	virtual void onActivate(GameObject* actor) = 0;

	Signal<void(GameObject*)> eventActivated;
};